Remember to call print_cb even if print operation is cancelled.
authorCasey Jao <casey.jao@gmail.com>
Thu, 9 Jul 2020 03:31:49 +0000 (23:31 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 9 Jul 2020 03:32:43 +0000 (23:32 -0400)
Closes #2917.

gtk/gtkprintoperation-portal.c

index eb155a78b672208c3078f9dfde05ca39d3e00344..15bf35c7bc78806a066ad013740a09a7b27d31aa 100644 (file)
@@ -427,7 +427,15 @@ prepare_print_response (GDBusConnection *connection,
       g_free (filename);
     }
   else
-    portal->result = GTK_PRINT_OPERATION_RESULT_CANCEL;
+    {
+      portal->result = GTK_PRINT_OPERATION_RESULT_CANCEL;
+
+      if (portal->print_cb)
+        portal->print_cb (portal->op, portal->parent, portal->do_print, portal->result);
+
+      if (portal->destroy)
+        portal->destroy (portal);
+    }
 
   if (options)
     g_variant_unref (options);